﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.IO;

namespace AsianOptionsService
{
    // NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        double ComputeOption(int typeId, int dayNum, double interest, double initial, double exercise, double up, double down, double deltaT,
            double threshold, bool isCall, bool isFixed,bool isUp, int isAverage, int otherChoice, double var, int brownApproxiMethod, int runs, int periods, int clientId);

        //[OperationContract]
        //double ArithmeticAverageAsianOptions(int brownApproxiMethod, double initial, double exercise, double sigma, double up, double down, double interest, int periods, double deltaT, int runs, string callPut, string fixedFloating, int clientId);
        //[OperationContract]
        //double GeometricAverageAsianOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, string callPut, string fixedFloating, int clientId);
        //[OperationContract]
        //double KnockInUpOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, double threshold, int clientId);
        //[OperationContract]
        //double KnockOutUpOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, double threshold, int clientId);
        //[OperationContract]
        //double KnockInDownOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, double threshold, int clientId);
        //[OperationContract]
        //double KnockOutDownOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, double threshold, int clientId);
        //[OperationContract]
        //double FixedLookBackUpOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, int clientId);
        //[OperationContract]
        //double FloatLookBackUpOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, int clientId);
        //[OperationContract]
        //double FixedLookBackDownOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, int clientId);
        //[OperationContract]
        //double FloatLookBackDownOptions(double initial, double exercise, double up, double down, double interest, int periods, int runs, int clientId);


    }


}
